#ifndef COMMANDCLIENT_
#define COMMANDCLIENT_
#define TRANINSIZE 4096
#define MMAPSIZE 104857600
#include "client.h"

//小火车协议
typedef struct train_s{
    int len;
    char trainBuf[TRANINSIZE];
}train_t;

// mkdir命令(客户端)
// 传入网络传输键值对protocol。运行成功返回0，打印创建成功，失败返回-1
int mkdirClient(const int SockFd,char *protocol);
// cd命令（客户端）
// 从client_info中获取命令参数，从login_status中获取当前工作路径、用户名，并修改当前工作路径
// 成功返回0；失败返回1
int cdClient(const int SockFd,char *protocol,struct login_status *Status);
// pwd命令（客户端）
// 从login_status中获取当前工作路径、用户名
int pwdClient(const struct login_status *Status);
// ls命令(客户端)
int lsClient(const int SockFd,char *protocol);
// rm命令(客户端)
// 从client_info中获取命令参数，从login_status中获取当前工作路径、用户名
int rmClient(const int SockFd, const char* protocol, const char* token);

//注销函数
int logoutClient(const int net_fd, struct login_status* stat);

//上传文件到服务器
int put_serverfile(int netfd, char* file_name, struct client_info* info);
//从服务器下载文件
int get_serverfile(int netfd, char* file_name, struct client_info* info);
#endif
